perm filename FOO[CLS,LSP] blob sn#857440 filedate 1988-05-18 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\input macros
C00005 ENDMK
CāŠ—;
\input macros
\begincom{add-method}\ftype{Standard Generic Function}

\label Purpose:

The generic function {\bf add-method} adds a method to a generic
function.  It destructively modifies the generic function and returns
the modified generic function as its result.

\label Syntax:

\Defgen {add-method} {generic-function method}

\label Method Signatures:

\Defmeth {add-method} {\vtop{\hbox{({\it generic-function\/} standard-generic-function)}
\hbox{({\it method\/} method)}}}

\label Arguments:

The {\it generic-function\/} argument is a generic function
object.

The {\it method\/} argument is a method object.  The lambda-list of
the method function must be congruent with the lambda-list of the
generic function, or an error is signaled.

\label Values:

The modified generic function is returned.  The result of {\bf add-method} 
is {\bf eq} to the {\it generic-function\/} argument.

\label Remarks:

If the given method agrees with an existing method of the generic
function on parameter specializers and qualifiers, the existing method
is replaced.  See the section ``Agreement on Parameter Specializers and
Qualifiers'' for a definition of agreement in this context.

If the method object is a method object of another generic function,
an error is signaled.
\bye